CSIS 603 fall 2010

Syllabus

Schedule:

Date in 2010
Topic Readings due Resources Assignments due
M 30 Aug
Introductions
M 6 Sep Intro to patterns and refactoring RTP ix-67; 340-342; 80-87
DP Chp 1, 2
HW1: Find open source Java project(s) and perform the three studied refactorings from RTP:
a) Replace Constructors w/ Creation Methods (57)
b) Chain Constructors (340)
c) Encapsulate Classes w/ Factory (80)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW1.pdf

M 13 Sep Case Study: Document Editor Re-read DP Chp 2
DP Chp 3
DP Chp 5: Strategy
HW2: Find open source Java project(s) and perform these refactorings from RTP:
a) Introduce Polymorphic Creation (88)
b) Replace Conditional Logic with Strategy (129)
c) Form Template Method (205)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW2.pdf

M 20 Sep Case Study: Document Editor DP Chp 4: Composite HW3: Find open source Java project(s) and perform these refactorings from RTP:
a) Compose Method (123)
b) Replace Implicit Tree w/ Composite (178)
c) Encapsulate Composite w/ Builder (96)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW3.pdf

M 27 Sep Case Study: Document Editor DP Chp 5: Command HW4: Find open source Java project(s) and perform these refactorings from RTP:
a) Remove accumulation to collecting parameter (313)
b) Extract Composite (214)
c) Replace one/many distinctions w/Composite (224)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW4.pdf

M 4 Oct Midterm Evaluations DP Chp 4: Adapter HW5: Find open source Java project(s) and perform these refactorings from RTP:
a) Replace Conditional Dispatcher with Command (191)
b) Extract Adapter (258)
c) Unify Interfaces with Adapter (247)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW5.pdf

M 11 Oct BREAK
M 18 Oct Case Study: Document Editor DP Chp 5: State HW6: Find open source Java project(s) and perform these refactorings from RTP:
a) Replace Type Code with Class (286)
b) Replace State-Altering Conditionals with State (166)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW6.pdf

M 25 Oct Case Study: Document Editor DP Chp 3: Singleton HW7: Find open source Java project(s) and perform these refactorings from RTP:
a) Introduce Null Object (301)
b) Inline Singleton (114)
c) Limit Instantiation with Singleton (296)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW7.pdf

M 1 Nov Reverse Engineering with Patterns Reverse Engineering paper HW8: Find open source Java project(s) and perform these refactorings from RTP:
a) Replace Hard-Coded Notifications with Observer (236)
Write an experience report and be prepared to present in class;

ALSO: read this paper and write a 1000+ word response paper (not summary) to it.

Email by NOON [last_first]_HW8.pdf

M 8 Nov Case Study: Document Editor DP Chp 4: Decorator HW9: Find open source Java project(s) and perform these refactorings from RTP:
a) Move Embellishment to Decorator (144)
b) Unify Interfaces (343)
c) Extract Parameter (346)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW9.pdf

M 15 Nov Case Study: Document Editor Refactoring Legacy Apps HW10: Find open source Java project(s) and perform these refactorings from RTP:
a) Move Creation Knowledge to Factory (68)
Write an experience report and be prepared to present in class;

ALSO: read this paper and write a 1000+ word response paper (not summary) to it.

Email by NOON [last_first]_HW10.pdf

M 22 Nov Case Study: Document Editor Code from Patterns HW11: Find open source Java project(s) and perform these refactorings from RTP:
a) Move Accumulation to Visitor (320)
Write an experience report and be prepared to present in class;

ALSO: read this paper and write a 1000+ word response paper (not summary) to it.

Email by NOON [last_first]_HW11.pdf

M 29 Nov Review HW12: Find open source Java project(s) and perform these refactorings from RTP:
a) Replace Implicit Language with Interpreter(269)
Write an experience report and be prepared to present in class;

Email by NOON [last_first]_HW12.pdf

M 6 Dec In class activities PaperPak for Final FINAL TAKE-HOME
F 10 Dec FINALĀ  EXAM 7:30 - 10:30 YIKES!